/*
 * Created on 28/05/2010
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package model.mantenimiento;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.apache.log4j.Logger;

import com.stefanini.pe.bbva.mbl.carga.in.to.Configuracionarchivo;
import com.stefanini.pe.bbva.mbl.carga.in.to.ControlEliminar;
import com.stefanini.pe.bbva.mbl.carga.in.to.DataTableOptions;
import com.stefanini.pe.bbva.mbl.carga.in.to.EliminarDetalle;
import com.stefanini.pe.bbva.mbl.carga.in.to.EstadoFormulario;
import com.stefanini.pe.bbva.mbl.carga.in.to.ToolBarOptions;
import com.stefanini.pe.bbva.mbl.in.bo.iface.ConfiguracionarchivoBO;
import com.stefanini.pe.bbva.mbl.in.bo.iface.ControlEliminarBO;
import com.stefanini.pe.bbva.mbl.in.bo.iface.EliminarDetalleBO;
import com.stefanini.pe.bbva.mbl.in.listeners.SpringInit;
import com.stefanini.pe.bbva.mbl.in.utils.Util;
import com.stefanini.pe.framework.common.HelperDate;
import com.stefanini.pe.framework.common.StringUtil;

public class EliminarArchivoModel {
	private static Logger logger = Logger.getLogger(EliminarArchivoModel.class);
	private int m_intEgvConfArchivo_First = 0;
	private String strValuePage = "";
	EstadoFormulario estadoFormulario = null;
	EstadoFormulario estadoFormularioDet = null;
	ArrayList egvConfArchvo_DataSource=new ArrayList();
	ConfiguracionarchivoBO confArchivoService = null;
	Configuracionarchivo configuracionarchivo = new Configuracionarchivo();
	ToolBarOptions toolbar = new ToolBarOptions();
	Date fechaInicial = HelperDate.getFechaActual();
	Date fechaFinal = HelperDate.getFechaActual();
	String estado="";
	DataTableOptions egvConfArchivoOptions = new DataTableOptions();
	String lblError_Text = StringUtil.Empty;
	int EgvConfArchivo_SelectedIndex = -1;
	Configuracionarchivo EgvConfArchivo_selectedRow = new Configuracionarchivo();
	boolean booIDConfArchivoRendered = true;
	String strConfArchivoSelected = "-1";
	List comboConfArchivo = new ArrayList();
	boolean egv_ConfArchivo_Visible = true;
	String codigo = "";
	String strDescripcion = "";
	String strTitulo="";
	String strFormatoFecha="";
	String strPredecesor="";
	boolean activo=true;
	private String rowStyle;
	//empiezo
	ArrayList listaControlEliminarCabecera = new ArrayList();
	ArrayList listaControlEliminarDetalle = new ArrayList();
	ControlEliminarBO controlEliminarService = null;
	EliminarDetalleBO eliminarDetalleService = null;
	ControlEliminar controlTemporal = new ControlEliminar();
	ControlEliminar controlEliminar = new ControlEliminar();
	EliminarDetalle eliminarDetalle = new EliminarDetalle();
	BigDecimal filaSelect = new BigDecimal(-1);
	boolean booCabeceraVisible;
	boolean booDetalleVisible;
	/**
	 * @return Returns the activo.
	 */
	public boolean isActivo() {
		return activo;
	}
	/**
	 * @param activo The activo to set.
	 */
	public void setActivo(boolean activo) {
		this.activo = activo;
	}
	ArrayList listarPredecesores = new ArrayList();
	/**
	 * @return Returns the strTitulo.
	 */
	public String getStrTitulo() {
		return strTitulo;
	}
	/**
	 * @param strTitulo The strTitulo to set.
	 */
	public void setStrTitulo(String strTitulo) {
		this.strTitulo = strTitulo;
	}
	/**
	 * @return Returns the m_intEgvProductos_First.
	 */
	public int getEgvConfArchivo_First() {
		return m_intEgvConfArchivo_First;
	}
	/**
	 * @param egvProductos_First The m_intEgvProductos_First to set.
	 */
	public void setEgvConfArchivo_First(int egvProductos_First) {
		m_intEgvConfArchivo_First = egvProductos_First;
	}
	
	
     /**
	 * 
	 */
	public EliminarArchivoModel() {
		logger.info("Inicio");
		
		controlEliminarService = (ControlEliminarBO)SpringInit.getApplicationContext().getBean("controlEliminarService");
		eliminarDetalleService = (EliminarDetalleBO)SpringInit.getApplicationContext().getBean("eliminarDetalleService");
		configuracionarchivo = new Configuracionarchivo();
		//controlTemporal = new ControlEliminar();
		controlEliminar = new ControlEliminar();
		eliminarDetalle = new EliminarDetalle();
		toolbar = new ToolBarOptions();
		estadoFormulario = new EstadoFormulario(toolbar);
		estadoFormularioDet = new EstadoFormulario(toolbar);
		egvConfArchivoOptions = new DataTableOptions();
		estadoFormulario.setEstadoActual(EstadoFormulario.BUSCAR);
		estadoFormularioDet.setEstadoActual(EstadoFormulario.BUSCAR);
		lblError_Text = StringUtil.Empty;
		EgvConfArchivo_SelectedIndex = -1;
		codigo = "";
		strDescripcion = "";
		m_intEgvConfArchivo_First = 0;
		this.fechaInicial=HelperDate.getFechaActual();
		this.fechaFinal=HelperDate.getFechaActual();		
		this.estado="";
		this.setStrPredecesor("0");
		this.setStrFormatoFecha("yyMMdd");
		this.setActivo(true);
		
		logger.info("Fin");
	}
	/**
	 * @return Returns the booIDConfArchivoRendered.
	 */
	public boolean isBooIDConfArchivoRendered() {
		return booIDConfArchivoRendered;
	}
	/**
	 * @param booIDConfArchivoRendered The booIDConfArchivoRendered to set.
	 */
	public void setBooIDConfArchivoRendered(boolean booIDConfArchivoRendered) {
		this.booIDConfArchivoRendered = booIDConfArchivoRendered;
	}
	
	/**
	 * @return Returns the comboConfArchivo.
	 */
	public List getComboConfArchivo() {
		return comboConfArchivo;
	}
	/**
	 * @param comboConfArchivo The comboConfArchivo to set.
	 */
	public void setComboConfArchivo(List comboConfArchivo) {
		this.comboConfArchivo = comboConfArchivo;
	}
	/**
	 * @return Returns the confArchivoService.
	 */
	public ConfiguracionarchivoBO getConfArchivoService() {
		return confArchivoService;
	}
	/**
	 * @param confArchivoService The confArchivoService to set.
	 */
	public void setConfArchivoService(ConfiguracionarchivoBO confArchivoService) {
		this.confArchivoService = confArchivoService;
	}
	/**
	 * @return Returns the egv_ConfArchivo_Visible.
	 */
	public boolean isEgv_ConfArchivo_Visible() {
		return egv_ConfArchivo_Visible;
	}
	/**
	 * @param egv_ConfArchivo_Visible The egv_ConfArchivo_Visible to set.
	 */
	public void setEgv_ConfArchivo_Visible(boolean egv_ConfArchivo_Visible) {
		this.egv_ConfArchivo_Visible = egv_ConfArchivo_Visible;
	}
	/**
	 * @return Returns the egvConfArchivo_SelectedIndex.
	 */
	public int getEgvConfArchivo_SelectedIndex() {
		return EgvConfArchivo_SelectedIndex;
	}
	/**
	 * @param egvConfArchivo_SelectedIndex The egvConfArchivo_SelectedIndex to set.
	 */
	public void setEgvConfArchivo_SelectedIndex(int egvConfArchivo_SelectedIndex) {
		EgvConfArchivo_SelectedIndex = egvConfArchivo_SelectedIndex;
	}
	/**
	 * @return Returns the egvConfArchivo_selectedRow.
	 */
	public Configuracionarchivo getEgvConfArchivo_selectedRow() {
		return EgvConfArchivo_selectedRow;
	}
	/**
	 * @param egvConfArchivo_selectedRow The egvConfArchivo_selectedRow to set.
	 */
	public void setEgvConfArchivo_selectedRow(
			Configuracionarchivo egvConfArchivo_selectedRow) {
		EgvConfArchivo_selectedRow = egvConfArchivo_selectedRow;
	}
	/**
	 * @return Returns the egvConfArchivoOptions.
	 */
	public DataTableOptions getEgvConfArchivoOptions() {
		return egvConfArchivoOptions;
	}
	/**
	 * @param egvConfArchivoOptions The egvConfArchivoOptions to set.
	 */
	public void setEgvConfArchivoOptions(DataTableOptions egvConfArchivoOptions) {
		this.egvConfArchivoOptions = egvConfArchivoOptions;
	}
	/**
	 * @return Returns the egvConfArchvo_DataSource.
	 */
	public ArrayList getEgvConfArchvo_DataSource() {
		return egvConfArchvo_DataSource;
	}
	/**
	 * @param egvConfArchvo_DataSource The egvConfArchvo_DataSource to set.
	 */
	public void setEgvConfArchvo_DataSource(ArrayList egvConfArchvo_DataSource) {
		this.egvConfArchvo_DataSource = egvConfArchvo_DataSource;
	}
	/**
	 * @return Returns the lblError_Text.
	 */
	public String getLblError_Text() {
		return lblError_Text;
	}
	/**
	 * @param lblError_Text The lblError_Text to set.
	 */
	public void setLblError_Text(String lblError_Text) {
		this.lblError_Text = lblError_Text;
	}
	/**
	 * @return Returns the m_intEgvConfArchivo_First.
	 */
	public int getM_intEgvConfArchivo_First() {
		return m_intEgvConfArchivo_First;
	}
	/**
	 * @param egvConfArchivo_First The m_intEgvConfArchivo_First to set.
	 */
	public void setM_intEgvConfArchivo_First(int egvConfArchivo_First) {
		m_intEgvConfArchivo_First = egvConfArchivo_First;
	}
	/**
	 * @return Returns the strConfArchivoSelected.
	 */
	public String getStrConfArchivoSelected() {
		return strConfArchivoSelected;
	}
	/**
	 * @param strConfArchivoSelected The strConfArchivoSelected to set.
	 */
	public void setStrConfArchivoSelected(String strConfArchivoSelected) {
		this.strConfArchivoSelected = strConfArchivoSelected;
	}
	/**
	 * @return Returns the strDescripcion.
	 */
	public String getStrDescripcion() {
		return strDescripcion;
	}
	/**
	 * @param strDescripcion The strDescripcion to set.
	 */
	public void setStrDescripcion(String strDescripcion) {
		this.strDescripcion = strDescripcion;
	}
	/**
	 * @return Returns the strValuePage.
	 */
	public String getStrValuePage() {
		return strValuePage;
	}
	/**
	 * @param strValuePage The strValuePage to set.
	 */
	public void setStrValuePage(String strValuePage) {
		this.strValuePage = strValuePage;
	}
	/**
	 * @return Returns the codigo.
	 */
	public String getCodigo() {
		return codigo;
	}
	/**
	 * @param codigo The codigo to set.
	 */
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}
	/**
	 * @return Returns the estadoFormulario.
	 */
	public EstadoFormulario getEstadoFormulario() {
		return estadoFormulario;
	}
	
	/**
	 * @param estadoFormulario The estadoFormulario to set.
	 */
	public void setEstadoFormulario(EstadoFormulario estadoFormulario) {
		this.estadoFormulario = estadoFormulario;
	}
	
	public EstadoFormulario getEstadoFormularioDet() {
		return estadoFormularioDet;
	}
	public void setEstadoFormularioDet(EstadoFormulario estadoFormularioDet) {
		this.estadoFormularioDet = estadoFormularioDet;
	}
	/**
	 * @return Returns the toolbar.
	 */
	public ToolBarOptions getToolbar() {
		return toolbar;
	}
	/**
	 * @param toolbar The toolbar to set.
	 */
	public void setToolbar(ToolBarOptions toolbar) {
		this.toolbar = toolbar;
	}
	/**
	 * @return Returns the configuracionarchivo.
	 */
	public Configuracionarchivo getConfiguracionarchivo() {
		return configuracionarchivo;
	}
	/**
	 * @param configuracionarchivo The configuracionarchivo to set.
	 */
	public void setConfiguracionarchivo(
			Configuracionarchivo configuracionarchivo) {
		this.configuracionarchivo = configuracionarchivo;
	}
	/**
	 * @return Returns the strFormatoFecha.
	 */
	public String getStrFormatoFecha() {
		return strFormatoFecha;
	}
	/**
	 * @param strFormatoFecha The strFormatoFecha to set.
	 */
	public void setStrFormatoFecha(String strFormatoFecha) {
		this.strFormatoFecha = strFormatoFecha;
	}
	/**
	 * @return Returns the strPredecesor.
	 */
	public String getStrPredecesor() {
		return strPredecesor;
	}
	/**
	 * @param strPredecesor The strPredecesor to set.
	 */
	public void setStrPredecesor(String strPredecesor) {
		this.strPredecesor = strPredecesor;
	}
	/**
	 * @return Returns the listarPredecesores.
	 */
	public ArrayList getListarPredecesores() {
		return listarPredecesores;
	}
	/**
	 * @param listarPredecesores The listarPredecesores to set.
	 */
	public void setListarPredecesores(ArrayList listarPredecesores) {
		this.listarPredecesores = listarPredecesores;
	}
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	public Date getFechaFinal() {
		return fechaFinal;
	}
	public void setFechaFinal(Date fechaFinal) {
		this.fechaFinal = fechaFinal;
	}
	public Date getFechaInicial() {
		return fechaInicial;
	}
	public void setFechaInicial(Date fechaInicial) {
		this.fechaInicial = fechaInicial;
	}
	public ArrayList getListaControlEliminarCabecera() {
		return listaControlEliminarCabecera;
	}
	public void setListaControlEliminarCabecera(
			ArrayList listaControlEliminarCabecera) {
		this.listaControlEliminarCabecera = listaControlEliminarCabecera;
	}
	public ControlEliminarBO getControlEliminarService() {
		return controlEliminarService;
	}
	public void setControlEliminarService(ControlEliminarBO controlEliminarService) {
		this.controlEliminarService = controlEliminarService;
	}
	public ArrayList getListaControlEliminarDetalle() {
		return listaControlEliminarDetalle;
	}
	public void setListaControlEliminarDetalle(ArrayList listaControlEliminarDetalle) {
		this.listaControlEliminarDetalle = listaControlEliminarDetalle;
	}
	public EliminarDetalleBO getEliminarDetalleService() {
		return eliminarDetalleService;
	}
	public void setEliminarDetalleService(EliminarDetalleBO eliminarDetalleService) {
		this.eliminarDetalleService = eliminarDetalleService;
	}
	public ControlEliminar getControlTemporal() {
		return controlTemporal;
	}
	public void setControlTemporal(ControlEliminar controlTemporal) {
		this.controlTemporal = controlTemporal;
	}
	public ControlEliminar getControlEliminar() {
		return controlEliminar;
	}
	public void setControlEliminar(ControlEliminar controlEliminar) {
		this.controlEliminar = controlEliminar;
	}
	public EliminarDetalle getEliminarDetalle() {
		return eliminarDetalle;
	}
	public void setEliminarDetalle(EliminarDetalle eliminarDetalle) {
		this.eliminarDetalle = eliminarDetalle;
	}
	public BigDecimal getFilaSelect() {
		return filaSelect;
	}
	public void setFilaSelect(BigDecimal filaSelect) {
		this.filaSelect = filaSelect;
	}
	public void setRowStyle(String rowStyle){
		this.rowStyle= rowStyle;
	}
	public String getRowStyle(){
		logger.info("Inicio");
		
		String cadena = "";
		boolean flag=false;
		for(int i=0;i<this.getListaControlEliminarCabecera().size();i++){
			ControlEliminar controlEliminar= (ControlEliminar)getListaControlEliminarCabecera().get(i);
			
			if (controlEliminar.getIdControlEliminar().equals(filaSelect)){
				cadena = cadena + "totalFoo,";
				flag=true;
			}
			
			if (!flag){
				if(i%2==0){
					cadena = cadena+"FilaGrilla,";					
				}else{
					cadena = cadena+"FilaAlternaGrilla,";
				}
			}else{
				flag=false;
			}
		}		
		
		logger.info("Fin");
		
		return cadena;
	}
	
	public boolean isBooCabeceraVisible() {
		if(listaControlEliminarCabecera.size()==0){
			return false;
		}else{
			return true;
		}
	}
	
	public void setBooCabeceraVisible(boolean booCabeceraVisible) {
		this.booCabeceraVisible = booCabeceraVisible;
	}
	public boolean isBooDetalleVisible() {
		return booDetalleVisible;
	}
	public void setBooDetalleVisible(boolean booDetalleVisible) {
		this.booDetalleVisible = booDetalleVisible;
	}
}